package com.dj.mingkong.admin.biz.service.music;


import com.dj.mingkong.admin.biz.controller.music.vo.request.StyleAddVo;
import com.dj.mingkong.admin.biz.controller.music.vo.request.StyleQueryVo;
import com.dj.mingkong.admin.biz.controller.music.vo.request.StyleUpdateVo;
import com.dj.mingkong.admin.biz.controller.music.vo.response.StyleVo;
import com.dj.mingkong.common.infrastructure.base.dto.delete.DeleteVo;
import com.dj.mingkong.common.infrastructure.base.dto.page.PageVo;

import java.util.List;

/**
 * 音乐风格管理服务接口
 *
 * @author zenglonghui
 * @date: 2022/7/21 10:32
 */
public interface StyleService {
    /**
     * 音乐保存
     *
     * @param addVo {}
     */
    void insert(StyleAddVo addVo);

    /**
     * 音乐风格修改
     *
     * @param updateVo {}
     */
    void updateById(StyleUpdateVo updateVo);

    /**
     * 音乐风格删除
     *
     * @param deleteVo {}
     */
    void deleteById(DeleteVo deleteVo);

    /**
     * 分页查询音乐风格列表
     *
     * @param queryVo {}
     * @return PageVo<StyleVo>
     */
    PageVo<StyleVo> pageByVo(StyleQueryVo queryVo);

    /**
     * 获取父风格列表
     *
     * @return List<StyleVo>
     */
    List<StyleVo> getParentList();

    /**
     * 获取树形结构音乐风格数据
     *
     * @return List<StyleVo>
     */
    List<StyleVo> listTree();

    /**
     * 获取所有音乐风格数据
     *
     * @return List<StyleVo>
     */
    List<StyleVo> listAll();
}
